package com.epichust.bootumpp.model.entity;

import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 产品工序
 */
@Component
public class Mbf5ProduceOperation {
    private static final long serialVersionUID = -1L;

    //private String routeGid; // 工艺路线gid
    //private MbfRouteLine routeLine;// [07.28E]:冗余工艺路线主键做查询
    //private String produceRouteGid; // 产品工艺路线gid
    //private MbfProduceRouteLine  produceRouteLine;// 产品工艺路线主键做查询
    private String id;
    private String opCode; // 工序code
    private String opName; // 工序名称
    private Integer opSeq = 0; // 工序号
    private Integer beginFlag = 2; // 0:开始；1:结束；2:中间点
    private Integer cycleTime; // 节拍时间
    private Integer prepareTime = 0; // 准备时间
    private Integer queueTime = 0;// 排队时间
    private Integer flowFlag; // 工作流标记 0:顺序；1:替代；2:并行
    private Integer opFlag = 0; // 0:工序；1:工步
    private String pid;
    //private MbfRouteOperation parentOp;// [01.16E]:冗余工序做查询，查询工步对应的工序
    private String imageGid; // 工序图标
    private String workInstruction; // 操作手册
    private String controlCode; // 控制码
    private Integer failureMode;// 失效模式
    private Long processBatch = (long) 0; // 最小加工批量，单件生产时为1，
    private Long transferBatch = (long) 0; // 最小转移批量，单件生产时为1
    private Integer isMaster = 1; // 是否主辅工序，0：辅工序；1：主工序
    private Integer isKey = 1; // 是否关键工序，只对关键工序生成派工单
    private Integer isMilestone = 0;// = 0 是否里程碑工序，前置工序未完工，当前工序禁止完工 0--no
    private Integer isEnforcement = 0;// = 0 是否强制工序，当前工序未完工，后续工序禁止开工 0--no
    private Integer isTransfer; // 是否自动转移，当前工序报完工，下工序自动开工
    private Integer isReDispatch;// = 1 是否严格按计划指定工位、班组，人员进行 1--yes
    private Integer isQtyLimit;// = 0 是否超量报工，2:不提示不控制；1，提示确认；0：强制控制
    private Integer isConfirm;// = 0 是否完工验证，2:不提示不控制；1，提示确认；0：强制控制
    private Integer isOnlineRepair;// = 1 是否在线返修 1--yes
    private Integer isEditable; // = 0 是否可修改数据 1--yes
    private Integer isKitting = 1;// 是否齐套性检查
    private Integer chkMode;// 质量模块检验模式 1,批次检；2，序列检
    private Integer flushMode = 0;// 物料模块扣减模式 0(default)：不扣，1：预冲，2：倒冲
    private Integer acqFlag = 0;// 是否必须报工
    private Integer dispatchType = 0; // 0：工序派工，1：工位派工，参见枚举EDispatchType
    private BigDecimal effectivePer = BigDecimal.ONE;// 良品率
    private String taskId; // activiti工作流中实例任务ID
    private String remark; // 备注
    private String erpWorkCenterCode;
    private String erpWorkCenterName;
    private String cycleTimeUnit ; //生产时间单位
    private String prepareTimeUnit ;//准备时间单位
    private BigDecimal artCycleTime;//SAP人工工时
    private BigDecimal sapPrepareTime;//SAP准备时间
    private String artCycleTimeUnit;//SAP人工工时单位
    private String sapPrepareTimeUnit;//SAP准备时间单位
    private BigDecimal  macTime;//工时
    private String  macTimeUnit;//工时单位

    private BigDecimal  countTime;//工时
    private String  countTimeUnit;//工时单位

    private Integer isDistributeAll; //该工序，工时是否分配完（1 分配完）

    private Integer supplTime = 0;// 增补工时
    /**
     * ERP工作中心编码/名称 备份 BAK
     * @author min.peng
     * @date 2019-3-21 上午11:24:56
     */
    private String bakErpWorkCenterCode;
    private String bakErpWorkCenterName;
    /**
     * 新增字段
     * @author hanxiao
     * @date 2020.6.24
     */
    private Date assessmentDate;//考核日期
    private String planType;//计划类型

    private Integer pullType = 0;// 拉动方式(1人工拉动;2自动拉动)
    private Integer pullPoint = 0;// 拉动时机(1开工;2完工)
    private Integer pullObj = 0;// 拉动对象(1本工单;2下工单)

    private String createId;//创建人
    private Date createDate;//创建时间
    private String modifyId;//修改人
    private Date modifyDate;//修改时间
    private int isActive;//激活状态
    private int isDelete;//删除状态
    private String siteCode;//工厂编码
    private String workCenterCode;//工作中心编码


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getOpCode() {
        return opCode;
    }

    public void setOpCode(String opCode) {
        this.opCode = opCode;
    }

    public String getOpName() {
        return opName;
    }

    public void setOpName(String opName) {
        this.opName = opName;
    }

    public Integer getOpSeq() {
        return opSeq;
    }

    public void setOpSeq(Integer opSeq) {
        this.opSeq = opSeq;
    }

    public Integer getBeginFlag() {
        return beginFlag;
    }

    public void setBeginFlag(Integer beginFlag) {
        this.beginFlag = beginFlag;
    }

    public Integer getCycleTime() {
        return cycleTime;
    }

    public void setCycleTime(Integer cycleTime) {
        this.cycleTime = cycleTime;
    }

    public Integer getPrepareTime() {
        return prepareTime;
    }

    public void setPrepareTime(Integer prepareTime) {
        this.prepareTime = prepareTime;
    }

    public Integer getQueueTime() {
        return queueTime;
    }

    public void setQueueTime(Integer queueTime) {
        this.queueTime = queueTime;
    }

    public Integer getFlowFlag() {
        return flowFlag;
    }

    public void setFlowFlag(Integer flowFlag) {
        this.flowFlag = flowFlag;
    }

    public Integer getOpFlag() {
        return opFlag;
    }

    public void setOpFlag(Integer opFlag) {
        this.opFlag = opFlag;
    }

    public String getPid() {
        return pid;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }

    public String getImageGid() {
        return imageGid;
    }

    public void setImageGid(String imageGid) {
        this.imageGid = imageGid;
    }

    public String getWorkInstruction() {
        return workInstruction;
    }

    public void setWorkInstruction(String workInstruction) {
        this.workInstruction = workInstruction;
    }

    public String getControlCode() {
        return controlCode;
    }

    public void setControlCode(String controlCode) {
        this.controlCode = controlCode;
    }

    public Integer getFailureMode() {
        return failureMode;
    }

    public void setFailureMode(Integer failureMode) {
        this.failureMode = failureMode;
    }

    public Long getProcessBatch() {
        return processBatch;
    }

    public void setProcessBatch(Long processBatch) {
        this.processBatch = processBatch;
    }

    public Long getTransferBatch() {
        return transferBatch;
    }

    public void setTransferBatch(Long transferBatch) {
        this.transferBatch = transferBatch;
    }

    public Integer getIsMaster() {
        return isMaster;
    }

    public void setIsMaster(Integer isMaster) {
        this.isMaster = isMaster;
    }

    public Integer getIsKey() {
        return isKey;
    }

    public void setIsKey(Integer isKey) {
        this.isKey = isKey;
    }

    public Integer getIsMilestone() {
        return isMilestone;
    }

    public void setIsMilestone(Integer isMilestone) {
        this.isMilestone = isMilestone;
    }

    public Integer getIsEnforcement() {
        return isEnforcement;
    }

    public void setIsEnforcement(Integer isEnforcement) {
        this.isEnforcement = isEnforcement;
    }

    public Integer getIsTransfer() {
        return isTransfer;
    }

    public void setIsTransfer(Integer isTransfer) {
        this.isTransfer = isTransfer;
    }

    public Integer getIsReDispatch() {
        return isReDispatch;
    }

    public void setIsReDispatch(Integer isReDispatch) {
        this.isReDispatch = isReDispatch;
    }

    public Integer getIsQtyLimit() {
        return isQtyLimit;
    }

    public void setIsQtyLimit(Integer isQtyLimit) {
        this.isQtyLimit = isQtyLimit;
    }

    public Integer getIsConfirm() {
        return isConfirm;
    }

    public void setIsConfirm(Integer isConfirm) {
        this.isConfirm = isConfirm;
    }

    public Integer getIsOnlineRepair() {
        return isOnlineRepair;
    }

    public void setIsOnlineRepair(Integer isOnlineRepair) {
        this.isOnlineRepair = isOnlineRepair;
    }

    public Integer getIsEditable() {
        return isEditable;
    }

    public void setIsEditable(Integer isEditable) {
        this.isEditable = isEditable;
    }

    public Integer getIsKitting() {
        return isKitting;
    }

    public void setIsKitting(Integer isKitting) {
        this.isKitting = isKitting;
    }

    public Integer getChkMode() {
        return chkMode;
    }

    public void setChkMode(Integer chkMode) {
        this.chkMode = chkMode;
    }

    public Integer getFlushMode() {
        return flushMode;
    }

    public void setFlushMode(Integer flushMode) {
        this.flushMode = flushMode;
    }

    public Integer getAcqFlag() {
        return acqFlag;
    }

    public void setAcqFlag(Integer acqFlag) {
        this.acqFlag = acqFlag;
    }

    public Integer getDispatchType() {
        return dispatchType;
    }

    public void setDispatchType(Integer dispatchType) {
        this.dispatchType = dispatchType;
    }

    public BigDecimal getEffectivePer() {
        return effectivePer;
    }

    public void setEffectivePer(BigDecimal effectivePer) {
        this.effectivePer = effectivePer;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getErpWorkCenterCode() {
        return erpWorkCenterCode;
    }

    public void setErpWorkCenterCode(String erpWorkCenterCode) {
        this.erpWorkCenterCode = erpWorkCenterCode;
    }

    public String getErpWorkCenterName() {
        return erpWorkCenterName;
    }

    public void setErpWorkCenterName(String erpWorkCenterName) {
        this.erpWorkCenterName = erpWorkCenterName;
    }

    public String getCycleTimeUnit() {
        return cycleTimeUnit;
    }

    public void setCycleTimeUnit(String cycleTimeUnit) {
        this.cycleTimeUnit = cycleTimeUnit;
    }

    public String getPrepareTimeUnit() {
        return prepareTimeUnit;
    }

    public void setPrepareTimeUnit(String prepareTimeUnit) {
        this.prepareTimeUnit = prepareTimeUnit;
    }

    public BigDecimal getArtCycleTime() {
        return artCycleTime;
    }

    public void setArtCycleTime(BigDecimal artCycleTime) {
        this.artCycleTime = artCycleTime;
    }

    public BigDecimal getSapPrepareTime() {
        return sapPrepareTime;
    }

    public void setSapPrepareTime(BigDecimal sapPrepareTime) {
        this.sapPrepareTime = sapPrepareTime;
    }

    public String getArtCycleTimeUnit() {
        return artCycleTimeUnit;
    }

    public void setArtCycleTimeUnit(String artCycleTimeUnit) {
        this.artCycleTimeUnit = artCycleTimeUnit;
    }

    public String getSapPrepareTimeUnit() {
        return sapPrepareTimeUnit;
    }

    public void setSapPrepareTimeUnit(String sapPrepareTimeUnit) {
        this.sapPrepareTimeUnit = sapPrepareTimeUnit;
    }

    public BigDecimal getMacTime() {
        return macTime;
    }

    public void setMacTime(BigDecimal macTime) {
        this.macTime = macTime;
    }

    public String getMacTimeUnit() {
        return macTimeUnit;
    }

    public void setMacTimeUnit(String macTimeUnit) {
        this.macTimeUnit = macTimeUnit;
    }

    public BigDecimal getCountTime() {
        return countTime;
    }

    public void setCountTime(BigDecimal countTime) {
        this.countTime = countTime;
    }

    public String getCountTimeUnit() {
        return countTimeUnit;
    }

    public void setCountTimeUnit(String countTimeUnit) {
        this.countTimeUnit = countTimeUnit;
    }

    public Integer getIsDistributeAll() {
        return isDistributeAll;
    }

    public void setIsDistributeAll(Integer isDistributeAll) {
        this.isDistributeAll = isDistributeAll;
    }

    public Integer getSupplTime() {
        return supplTime;
    }

    public void setSupplTime(Integer supplTime) {
        this.supplTime = supplTime;
    }

    public String getBakErpWorkCenterCode() {
        return bakErpWorkCenterCode;
    }

    public void setBakErpWorkCenterCode(String bakErpWorkCenterCode) {
        this.bakErpWorkCenterCode = bakErpWorkCenterCode;
    }

    public String getBakErpWorkCenterName() {
        return bakErpWorkCenterName;
    }

    public void setBakErpWorkCenterName(String bakErpWorkCenterName) {
        this.bakErpWorkCenterName = bakErpWorkCenterName;
    }

    public Date getAssessmentDate() {
        return assessmentDate;
    }

    public void setAssessmentDate(Date assessmentDate) {
        this.assessmentDate = assessmentDate;
    }

    public String getPlanType() {
        return planType;
    }

    public void setPlanType(String planType) {
        this.planType = planType;
    }

    public String getCreateId() {
        return createId;
    }

    public void setCreateId(String createId) {
        this.createId = createId;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getModifyId() {
        return modifyId;
    }

    public void setModifyId(String modifyId) {
        this.modifyId = modifyId;
    }

    public Date getModifyDate() {
        return modifyDate;
    }

    public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    public int getIsActive() {
        return isActive;
    }

    public void setIsActive(int isActive) {
        this.isActive = isActive;
    }

    public int getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(int isDelete) {
        this.isDelete = isDelete;
    }

    public String getSiteCode() {
        return siteCode;
    }

    public void setSiteCode(String siteCode) {
        this.siteCode = siteCode;
    }

    public String getWorkCenterCode() {
        return workCenterCode;
    }

    public void setWorkCenterCode(String workCenterCode) {
        this.workCenterCode = workCenterCode;
    }

    public Integer getPullType() {
        return pullType;
    }

    public void setPullType(Integer pullType) {
        this.pullType = pullType;
    }

    public Integer getPullPoint() {
        return pullPoint;
    }

    public void setPullPoint(Integer pullPoint) {
        this.pullPoint = pullPoint;
    }

    public Integer getPullObj() {
        return pullObj;
    }

    public void setPullObj(Integer pullObj) {
        this.pullObj = pullObj;
    }
}
